package com.aviatorscript.avitorscriptmust.annotation;

import java.lang.annotation.*;

/**
 * AviatorScript校验注解
 * 用于标记需要进行校验的方法参数或类
 *
 * @author system
 */
@Target({ElementType.PARAMETER, ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AviatorValidation {
    
    /**
     * 是否启用校验，默认启用
     */
    boolean enabled() default true;
    
    /**
     * 校验失败时是否抛出异常，默认抛出
     */
    boolean throwException() default true;
    
    /**
     * 指定要校验的类名，如果不指定则自动推断
     */
    String className() default "";
    
    /**
     * 校验失败时的提示信息前缀
     */
    String message() default "参数校验失败";
} 